声明

本文是学习GB-T 35008-2018 串行NOR型快闪存储器接口规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们

1 范围

本标准规定了串行或非(NOR)
型快闪存储器(以下称为器件)的物理接口、存储阵列架构、指令定

义和参数表说明等。

本标准适用于地址为24位的串行NOR 型快闪存储器的设计和使用。

2 规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T 17574—1998 半导体器件 集成电路 第2部分:数字集成电路

3 术语和定义

GB/T 17574—1998界定的以及下列术语和定义适用于本文件。

3.1

状态寄存器 status register

存储器内部标志内部状态的寄存器。

4 物理接口

4.1 引出端功能定义

器件引出端功能定义见表1。

1 引出端功能定义

引出端

输入/输出

描述

CS#

输入

片选信号输入,低电平有效

SO/SIO1

输入/输出

串行数据输出端/串行数据端1

WP#/SIO2

输入/输出

写保护端,低电平有效/串行数据端2

GND

SI/SIO0

输入/输出

串行数据输入端/串行数据端0

SCLK

输入

串行时钟输入端

HOLD#/SIO3

输入/输出

保持功能输入端,低电平有效/串行数据端3

VCC

电源

供电电源

GB/T 35008—2018

4.2 数据接口类型

4.2.1 单端口模式

单端口模式配备4个信号端口,即SCLK,CS#,SI,SO。
输入数据在时钟上升沿采样,输出数据在

时钟下降沿输出。此模式支持 HOLD# 保持功能和 WP# 写保护功能。

4.2.2 双端口传输模式

双端口传输模式下数据传输速度是单端口模式的两倍。配备4个信号端口,即
SCLK,CS#,SI/

SIO0,SO/SIO1。 此模式支持 HOLD# 保持功能和 WP# 写保护功能。

双端口传输模式为可选模式。

4.2.3 四端口传输模式

四端口传输模式下数据传输速度是单端口模式的四倍。配备6个信号端口,即
SCLK,CS#,SI/

SIO0,SO/SIO1,WP#/SIO2,HOLD#/SIO3。 由于 HOLD# 和 WP#
被作为数据端,所以此模式不

再支持 HOLD# 保持功能和 WP# 写保护功能。

四端口传输模式通过设置寄存器 QE 实现,见5.2。当 QE
被设置为1后,所有四端口传输模式指

令均可直接启动四端口传输模式。

四端口传输模式为可选模式。

4.2.4 模式转换

单端口模式与双端口传输模式通过对应的指令直接转换。四端口传输模式通过设置寄存器
QE 实

现。当QE 被设置为1后,所有四端口传输模式指令均可直接启动四端口传输模式。

4.2.5 HOLD# 保持功能

HOLD# 保持功能只在单端口模式和双端口串口模式下有效。 HOLD#
信号驱动为低电平后,任
何通过串口与器件端口的通信都会被保持。如此时器件内部由于读写擦等动作处于忙状态,内部状态

将不会被保持。

保持功能要求CS# 保持为低电平,HOLD#
驱动为低电平,之后应等到时钟首次为低电平,保持功
能开启。如时钟不为低电平,则等到时钟为低电平时开启保持功能。当 HOLD#
驱动为高电平后,应

等到时钟首次为低电平,保持功能结束。 HOLD#
保持功能启动时,数据输出端为高阻,数据输入和时

钟无效,如 CS#
在保持功能有效期间驱动为高电平,保持功能结束。如要与器件重新通信,HOLD#

驱动为高电平,并且CS# 应为低电平。 HOLD# 保持功能条件如图1所示。

HOLD# 保持功能为可选功能。

style="width:11.67995in;height:2.72646in" />CS 开

SCIK

HOLD=/S1O3

保持

1 HOLD# 保持功能

GB/T 35008—2018

4.2.6 WP# 写保护功能

在单端口模式和双端口传输模式下,WP# 信号驱动为低电平后,如保护位 BRWD
为1,则块保护

位(BP0,BP1,BP2, 和 INV,CMP) 将被锁定而不能修改,两信号应同时具备。

WP# 写保护功能为可选功能。

5 存储阵列架构

5.1 存储架构

存储阵列架构如图2所示。存储阵列由一个或多个面块组成,
一个面块由多个块组成, 一个块由多

个扇区组成, 一个扇区由多个页组成。页是最小的读、写单元。

style="width:9.38681in;height:6.52708in" />style="height:0.1133in" />

2 存储阵列架构图

5.2 状态寄存器

状态寄存器用于记录器件当前的工作状态和控制模式,器件配置的状态寄存器位定义见表2。

2 状态寄存器位定义

地址

7

6

5

4

3

2

1

0

S15:S8

SUS

CMP

预留

预留

预留

LB

QE

预留

S7:S0

SRP

BP4

BP3

BP2

BP1

BP0

WEL

WIP

状态寄存器中各个状态位的描述见表3。

GB/T 35008—2018

3 状态寄存器位描述

状态位

描述

WIP

写进行位,标志存储器是否正忙于编程/擦除/写状态寄存器。当WIP=1时,表示器件正忙于编程/擦

除/写状态寄存器。当WIP=0时,表示器件没有进行编程/擦除/写状态寄存器等进程

WEL

写使能锁存位,标志内部写使能锁存的状态。当WEL=1时,表示内部写使能锁存被设置。当WEL=

0时,表示内部写使能锁存被复位,并且没有接到写状态寄存器、编程或者擦除指令

BP4、BP3、 BP2、BP1、

BP0

非易失的块保护位,他定义了防止编程和擦除的软件保护区域。这些位通过写状态寄存器(WRSR)指 令被写入。当块保护位(BP4、BP3、BP2、BP1、BP0)设为1时,相关的区域保护起来以防止编程和擦除操 作。如没有设置硬件保护模式,这些块保护位就可被编写。只有当块保护位(BP2、BP1、BP0)设为0且

CMP=0时,全器件擦除指令才被执行

SRP

状态寄存器保护位,是非易失读写位,他控制写保护的方式:软件保护、硬件保护

QE

四端口使能位,是状态寄存器中允许四端口操作的非易失读写位。当QE设为0时(默认状态),WP# 引出端和HOLD#引出端有效;当QE设为1时,IO2和IO3引出端有效。但是在单端口和双端口传输

模式下,如WP#引出端和HOLD#引出端直接连接电源或者地,QE不能设为1

LB

状态寄存器中的非易失性一次性可编程位,为安全寄存器提供写保护控制和状态。LB的默认状态为 0,安全寄存器没有被锁定;可通过写状态寄存器指令将LB设为1。LB是一次性可编程位, 一旦被设为

1,安全寄存器将成为永久的只读性

CMP

是非易失性的读写位,他和BP4、BP3、BP2、BP1、BPO结合在一起为器件保护提供更大的灵活性。他的

默认值为0

SUS

他是状态寄存器中的只读位。当执行完擦除/编程挂起指令(75H)后被设为1。SUS可通过编程/擦除

恢复指令(7AH)或者电源掉电、上电循环清为0

5.3 器件保护功能

器件应提供如下数据保护模式:

a) 写使能指令:该指令设置写使能锁存位(WEL)。
当出现上电、写失效、写状态寄存器、页编程、 擦除情况时,WEL 会被复位。

b)
软件保护模式:块保护的方式通过设置寄存器实现。块保护位(BP4、BP3、BP2、BP1
和 BP0) 定义了可读取但不能改变的存储器阵列区域,参照附录 A。
当某个块处于写保护范围内时,任 何对该块的编程和擦除操作都不被执行。

c) 硬件保护模式:WP# 驱动为低电平以保护BP0 位~BP4 位和 SRP 位。

d)
深度休眠模式:在深度休眠模式下,除了从深度休眠模式下退出的指令外,所有的指令都无效。

5.4 器件自毁功能

器件遇到特殊情况可启动自毁功能。自毁之后,不再接收任何指令,此模式永久生效。器件自毁功

能的时序见6.2.30。

自毁功能为可选功能。

GB/T 35008—2018

6 指令定义

6.1 指令集说明

所有的指令、地址和数据,都是在CS# 为低电平后SCLK
的上升沿,从最高有效位开始输入和输出

器件。将一个字节指令代码输入到器件,最高有效位首先在SI 端,每位在 SCLK
的上升沿时锁存。

每一个指令序列都以一个字节的指令代码开始。根据指令不同,后面可能是地址字节、数据字节,
或者两者都有,或者都没有。当指令序列的最后一位输入完成后,CS#
应驱动为高电平。对于读、快速
读、读状态寄存器、从深度休眠模式恢复、读器件标识等指令,输入的指令序列后跟随着数据输出序列,
数据输出序列中的任何位被移出后CS#
均可被驱动为高电平。对于页编程、扇区擦除、块擦除、全器件
擦除、写状态寄存器、写使能、写禁止、深度休眠等指令,CS#
应在一个字节指令后驱动为高电平,否则 指令不执行。即CS#
为低电平后,时钟脉冲是八的整数倍时,CS# 应驱动为高电平。对于页编程,如

再输入不是一个完整的字节时CS# 被驱动为高电平, WEL
将不会被复位。指令集见表4。

4 指令集

指令名称

字节1

字节2

字节3

字节4

字节5

字节6

字节N

写使能

06H

写禁止

04H

读状态寄存器

05H

(S7~S0)

(连续)

读状态寄存器-1

35H

(S15~S8)

——

——

——

(连续)

写状态寄存器-1

01H

(S7~S0)

(S15~S8)

易失性状态寄存器

写使能

50H

读数据

03H

A23~A16

A15~A8

A7~A0

(D7~D0)

(下个字节)

(连续)

快速读数据

0BH

A23~A16

A15~A8

A7~A0

冗余

(D7~D0)

(连续)

双端口输出快速读

数据

3BH

A23~A16

A15~A8

A7~A0

冗余

(D7~D0)"

(连续)

双端口输入/输出快

速读数据

BBH

A23~A8b

A7~A0

M7~Mo

(D7~D0)°

(连续)

四端口输出快速读

数据

6BH

A23~A16

A15~A8

A7~A0

冗余

(D7~D0)°

(连续)

四端口输入/输出快

速读数据

EBH

A23~A0

M7~Mo⁴

冗余

(D7~D0)°

(连续)

四端口输入/输出快

速字读数据*

E7H

A23~A0

M7~Mo⁴

冗余f

(D7~D0)⁶

(连续)

页编程

02H

A23~A16

A15~A8

A7~A0

(D7~D0)

(下个字节)

四端口页编程

32H

A23~A16

A15~A8

A7~A0

(D7~D0)°

扇区擦除

20H

A23~A16

A15~A8

A7~A0

块擦除(32K)

52H

A23~A16

A15~A8

A7~A0

块擦除(64K)

D8H

A23~A16

A15~A8

A7~A0

GB/T 35008—2018

4 ( 续 )

指令名称

字节1

字节2

字节3

字节4

字节5

字节6

字节N

全器件擦除

C7/60H

——

——

——

——

——

复位使能

66H

——

——

复位

99H

设置循环读

77H

W7~W4

——

编程/擦除挂起

75H

——

编程/擦除恢复

7AH

——

深度休眠

B9H

——

——

从深度休眠中退出,

并读器件标识

ABH

冗余

冗余

冗余

器件标识

(连续)

从深度休眠中退出

ABH

制造商/器件标识

90H

冗余

冗余

00H

制造商标识

器件标识

(连续)

读参数表

5AH

A23~A16

A15~A8

A7~A0

冗余

(D7~D0)

(连续)

读标识

9FH

制造商标识

标识

(连续)

擦除安全寄存器

44H

A23~A16

A15~A8

A7~A0

编程安全寄存器

42H

A23~A16

A15~A8

A7~A0

(D7~D0)

(D7~D0)

读安全寄存器

48H

A23~A16

A15~A8

A7~A0

冗余

(D7~D0)

器件自毁

A5H-冗余-FAH-冗余-A5H-冗余-0AH-冗余-10H

双端口输出数据

IO0=(D6,D4,D2,D0)

IO1=(D7,D5,D3,D1)

b双端口输入地址

IO0=A22,A20,A18,A16,A14,A12,A10,A8

IO1=A23,A21,A19,A17,A15,A13,A11,A9

四端口输出数据

IO0=(D4,D0,…)

IO1=(D5,D1,…)

IO2=(D6,D2,…)

IO3=(D7,D3,…)

四端口输入地址

IO0=A20,A16,A12,A8,A4,A0,M4,M0

IO1=A21,A17,A13,A9, A5,A1,M5,M1

IO2=A22,A18,A14,A10,A6,A2,M6,M2

IO3=A23,A19,A15,A11,A7,A3,M7,M3

四端口输入/输出快速读数据

IO0=(x,x,x,x,D4,D0,…)

IO1=(x,x,x,x,D5,D1,…)

IO2=(x,x,x,x,D6,D2,…)

IO3=(x,x,x,x,D7,D3,…)

A6,A4,A2,A0,M6,M4,M2,M0

A7,A5,A3,A1,M7,M5,M3,M1

GB/T 35008—2018

4 ( 续 )

指令名称

字节1

字节2

字节3

字节4

字节5

字节6

字节N

四端口输入/输出快速字读数据

IO0=(x,x,D4,D0,…)

IO1=(x,x,D5,D1,…)

IO2=(x,x,D6,D2,…)

IO3=(x,x,D7,D3,…)

四端口输入/输出快速字读数据:最低地址位应为0。

h安全寄存器地址

安全寄存器0:A23~A16=00H,A15~A8=00H,A7~A0=字节地址;

安全寄存器1:A23~A16=00H,A15~A8=01H,A7~A0=字节地址;

安全寄存器2:A23~A16=00H,A15~A8=02H,A7~A0=字节地址;

安全寄存器3:A23~A16=00H,A15~A8=03H,A7~A0=字节地址。

冗余位和循环位

I00=(x,x,x,x,x,x,W4,x)

IO1=(x,x,x,x,x,x,W5,x)

IO2=(x,x,x,x,x,x,W6,x)

IO3=(x,x,x,x,x,x,W7,x)

6.2 指令集描述

6.2.1 写使能(06H)

写使能(06H) 是为了设置写使能锁存位 WEL,
在页编程、扇区擦除、块擦除、全器件擦除、写状态寄

存器、擦除/编程安全寄存器前,应先设置 WEL 位。06H 指令时序如图3所示。

style="width:5.64654in;height:2.6268in" />

3 06H 指令时序图

6.2.2 写禁止(04H)

写禁止(04H) 是为了复位写使能锁存位 WEL。WEL 位在下列情况下会被复位:

——写状态寄存器完成后,掉电复位并再次上电后;


在页编程、扇区擦除、块擦除、全器件擦除、擦除/编程安全寄存器、复位指令完成后。

04H 指令时序如图4所示。

GB/T 35008—2018

style="width:5.57998in;height:2.6532in" />

4 04H 指令时序图

6.2.3 读状态寄存器(05H/35H)

读状态寄存器(05H/35H)
用来读状态寄存器中的内容。即使正在进行编程、擦除或写状态寄存
器,也可随时读状态寄存器。当一个循环周期中,推荐在发送新的指令前检查写进行位(WIP)。
读状态 寄存器指令也可连续读状态寄存器。指令代码05H,SO 端将输出状态寄存器
S7~S0 的内容;指令代

码35H,SO 端将输出状态寄存器 S15~S8 的内容。05H/35H 指令时序如图5所示。

style="width:8.74002in;height:3.32002in" />

5 05H/35H 指令时序图

6.2.4 写状态寄存器(01H)

写状态寄存器(01H)
可为状态寄存器写入新内容。器件接收写状态寄存器指令前,应先执行写使

能指令。当写使能指令被解码和执行后,器件设置了写使能锁存位(WEL)。

写状态寄存器指令对状态寄存器的 S15、S1、S0
没有影响。当数据字节的第8位或第16位被锁存 后,CS#
应驱动为高电平,否则不执行写状态寄存器指令。 CS#
在数据字节的第八位驱动为高电平后, CMP 和 QE 位被清为0。 一旦CS#
驱动为高电平,定时写状态寄存器循环启动。当写状态寄存器周期

进行时,仍然可读状态寄存器的写进行位(WIP)
的值。在定时写状态寄存器循环内,WIP=1, 周期完成

时 WIP=0。 当循环完成后,写使能锁存(WEL) 被复位。

写状态寄存器指令允许用户改变块保护位的内容(BP4、BP3、BP2、BP1、BP0),以定义只读区域的
大小。写状态寄存器指令还允许用户按写保护信号(WP#)
设置或复位状态寄存器保护位(SRP1)。 状 态寄存器保护位(SRP)
和写保护信号(WP#) 让器件处于硬件保护模式。当进入硬件保护模式时,不执

行写状态寄存器指令。01H 指令时序如图6所示。

GB/T 35008—2018

style="width:8.53329in;height:3.18648in" />

6 01H 指令时序图

6.2.5 易失性状态寄存器写使能(50H)

易失性状态寄存器的写使能(50H)
应在写状态寄存器指令之前发出。易失性状态寄存器写使能指
令不设置写使能锁存位,他只适用于用写状态寄存器指令改变易失性状态寄存器的内容。50H
指令时

序如图7所示。

style="width:7.10675in;height:3.28658in" />

7 50H 指令时序图

6.2.6 读数据(03H)

读数据(03H) 后跟3字节地址(A23~A0), 每一位在 SCLK
的上升沿时被锁存。存储器中该地址 的数据在SCLK 的下降沿以 fR 的频率从 SO
端输出。第一个字节的地址可在任何位置,当一个字节的
数据输出后,地址自动递增到下一个较高地址。因此,通过读数据指令就能读取整个存储器。当进行擦
除、编程或写操作时,任何读取数据指令都被拒绝,而对正在进行的循环没有任何影响。03H
指令时序

如图8所示。

style="width:11.69994in;height:2.93326in" />

最高有效位

8 03H 指令时序图

GB/T 35008—2018

6.2.7 快速读数据(OBH)

快速读数据(0BH) 后面跟3字节的地址(A23~A0) 和一个冗余字节,每一位在 SCLK
的上升沿时 锁存。存储器中该地址的数据,在SCLK 的下降沿以最高频率 fC 从
SO 端输出,0BH 指令时序如图9

所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个较高地址。

style="width:8.65994in;height:5.7002in" />

9 0BH 指令时序图

6.2.8 双端口输出快速读数据(3BH)

双端口输出快速读数据(3BH) 后面跟3字节地址(A23~A0)
和一个冗余字节,每一位在 SCLK 的
上升沿时锁存。存储器中该地址的数据在每个时钟周期内通过 SI 和 SO
端共输出2位。3BH 指令时
序如图10所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个

较高地址。

style="width:8.77322in;height:5.48658in" />

最高有效位 最高有效位

图10 3BH 指令时序图

GB/T 35008—2018

6.2.9 四端口输出快速读数据(6BH)

四端口输出快速读数据(6BH) 后跟3字节地址(A23~A0)
和一个冗余字节,每一位在 SCLK 的上
升沿时锁存。存储器中该地址的数据在每个时钟周期内通过 IO3、IO2、IO1、IO0
端输出4位。6BH 指
令时序如图11所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下

一个较高地址。

style="width:9.37329in;height:8.21348in" />

图11 6BH 指令时序图

6.2.10 双端口输入/输出快速读数据(BBH)

双端口输入/输出快速读数据(BBH)
类似于双端口输出快速读数据指令,但他的3字节地址(A23~
A0)和一个"连续读模式"字节在一个时钟周期内,能通过 SI 和 SO
端输入2位。每一位在 SCLK 的上
升沿时锁存,存储器中在该地址的数据每个时钟周期通过SI 和SO 端共输出2位。
BBH 指令时序如图
12所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个较高

地址。

GB/T 35008—2018

style="width:10.89329in;height:3.48678in" />

style="width:8.74002in;height:2.91984in" />

图12 BBH 指令时序图 (M7~0=0XH M7~0≠AXH)

双端口输入/输出快速读指令可通过如下方式实现连续读:输入3字节地址(A23~A0)
后,设置"连 续读模式"位(M7~0)。 如"连续读模式"位(M7~0)=AXH,
那么下一个双端口输入/输出快速读指令 (在CS# 上升又驱动为低电平后)就不需要
BBH 指令代码了,时序如图13所示。如"连续读模式"位 (M7~0) 的值不是AXH,
下一个指令就需要第一个 BBH 指令代码,从而恢复到正常操作。"连续读模

式"复位指令可在发送常规指令前复位(M7~0)。

style="width:7.96657in;height:6.33336in" />

图13 BBH 指令时序图(M7~0=AXH)

GB/T 35008—2018

6.2.11 四端口输入/输出快速读数据(EBH)

四端口输入/输出快速读(EBH)
类似于双端口输入/输出快速读指令,但3字节地址(A23~0)、1
字节"连续读模式"和4个冗余时钟,能在一个时钟周期通过IO3、IO2、IO1、IO0端输入4位。每一位在
SCLK 的上升沿时锁存,器件中在该地址的数据每个时钟周期从
IO3、IO2、IO1、IO0 端共输出4位, EBH
指令时序如图14所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递

增到下一个较高地址。对于EBH 指令,应设置状态寄存器的四端口使能位(QE)。

CS#

SCLK

S](100)

style="width:11.23329in;height:4.78016in" />sO(101)

WPH(IO2)

TOLD#(TO3)

图14 EBH 指令时序图(M7~0=0XH M7~0≠AXH)

四端口输入/输出快速读指令可通过如下方式实现连续读:输入3字节地址(A23~A0)
后,设置"连 续读模式"位(M7~0)。 如"连续读模式"位(M7~0)=AXH,
那么下一四端口输入/输出快速读指令 (在 CS# 上升又驱动为低电平后)就不需要
EBH 指令代码了,时序如图15所示。如"连续读模式"位 (M7~0) 不是AXH,
下一个指令就需要第一个 EBH 指令代码,从而恢复正常操作。"连续读模式"复

位指令可在发送常规指令前复位(M7~0)。

style="width:9.06004in;height:4.8334in" />

图15 EBH 指令时序图(M7~0=AXH)

6.2.12 四端口输入/输出快速字读数据(E7H)

四端口输入/输出快速字读数据(E7H)
类似于四端口输入/输出快速读指令,但是最低地址位(A0)

GB/T 35008—2018

应为0,并且只有2个冗余时钟。 E7H
指令时序如图16所示。第一个字节的地址可在任何位置,当一
个字节的数据输出后,地址自动递增到下一个较高地址。对于E7H
指令,应设置状态寄存器的四端口

使能位(QE)。

style="width:12.19333in;height:5.01336in" />

图16 E7H 指令时序图(M7~0=0XH M7~0≠AXH)

四端口输入/输出快速字读指令可通过如下方式实现连续读:输入3字节地址(A23~A0)
后,设置 "连续读模式"位(M7~0)。 如"连续读模式"位(M7~0)=AXH,
那么下一四端口输入/输出快速字读 指令(在CS# 上升又驱动为低电平后)就不需要
E7H 指令代码了,时序如图17所示。如“连续读模式” 位(M7~0) 不是 AXH,
下一个指令就需要第一个 EBH 指令代码,从而恢复正常操作。"连续读模式"

复位指令可在发送常规指令前复位(M7~0)。

style="width:9.0399in;height:4.88664in" />

图17 E7H 指令时序图(M7~0=AXH)

6.2.13 设置循环读(77H)

设置循环读(77H)
与四端口输入/输出快速读和四端口输入/输出字快速读指令组合在一起,可在

单端口模式下访问一个页中固定长度的8/16/32/64字节部分。77H
指令时序如图18所示。

GB/T 35008—2018

style="width:9.0001in;height:5.09344in" />

图18 77H 指令时序图

循环读模式中W6~W4 的定义见表5。如W6~W4
通过设置循环读指令进行了设置,后续的所有
四端口输入/输出快速读和四端口输入/输出字快速读指令将根据 W6~W4
的设置来访问页中的8/
16/32/64字节部分。如要退出循环读功能回到正常的读操作,应发送一个设置循环读指令来设置
W4

=1。

5 循环读模式中 W6~W4 定义

W6,W5

W4=0

W4=1(默认值)

循环

循环长度

循环

循环长度

0,0

8字节

0,1

16字节

1,0

32字节

1,1

64字节

6.2.14 页编程(02H)

页编程(02H)
用于编程存储器。发送页编程指令前,写使能指令应预先执行来设置写使能锁存位

(WEL)。

页编程在CS# 驱动为低电平后开始,SI
端输入页编程指令码、3个字节地址和至少一个字节的数
据。如最低8位地址位(A7~A0)
不是全零,所有超出当前页的传输数据,从该页的起始地址(最低8位
地址位(A7~A0) 都是零)开始编程。该时序的整个持续时间内CS#
应为低电平。02H 指令时序如图
19所示。如超过256个字节发送给器件,开始锁存的数据被丢弃,保证最后的256个字节数据被正确
地编写在同一页中。如少于256个字节的数据发送给器件,他会被编写在指定的地址中,而对当前页中
的其他字节没有影响。当最后一个字节的数据的第8位被锁存后,CS#
应驱动为高电平,否则不执行

页编程指令。

GB/T 35008—2018

一旦 CS#
驱动高,定时页编程周期开始。在页编程进行时,可读状态寄存器来检查写进行位
(WIP) 的值。定时页编程周期内WIP
为1,结束后为0。在周期结束前的某个不确定的时间,写使能锁

存位(WEL) 被复位。

页编程指令对块保护的页不执行操作。

style="width:11.52656in;height:5.10664in" />

图19 02H 指令时序图

6.2.15 四端口页编程(32H)

四端口页编程(32H) 用于使用IO0、IO1、IO2 和 IO3
四个端口编程存储器。要使用四端口编程指

令,应设置状态寄存器的四端口使能位(QE=1)。
发送页编程指令前,写使能指令应预先执行来设置写

使能锁存位(WEL)。 四端口使能指令在CS# 为低电平时输入,IO
端跟随着指令代码32H、3 字节地址

和至少1字节数据。32H 指令时序如图20所示。

如超过256个字节发送给器件,开始锁存的数据被丢弃,保证最后的256个字节数据被正确地编写
在同一页中。如少于256个字节的数据发送给器件,他会被编写在指定的地址中,而对当前页中的其他
字节没有影响。当最后一个字节的数据的第8位被锁存后,CS#
应驱动为高电平,否则不执行页编程

指令。

一旦 CS#
驱动高,定时四端口页编程周期开始。在四端口页编程进行时,可读状态寄存器来检查
写进行位(WIP) 的值。定时四端口页编程周期内 WIP
为1,结束后为0。在周期结束前的某个不确定

的时间,写使能锁存位(WEL) 被复位。

四端口页编程指令对块保护的页不执行操作。

GB/T 35008—2018

style="width:11.96001in;height:9.63336in" />

图20 32H 指令时序图

6.2.16 扇区擦除(20H)

扇区擦除(20H)
是用来擦除选定扇区的所有数据。写使能指令应预先执行来设置写使能锁存位

(WEL)。20H 指令在CS# 为低电平时输入,SI
端跟指令代码和3字节地址。扇区内的任何地址对于

扇区擦除指令都是有效地址。整个时序周期内CS# 应驱动为低电平。20H
指令时序如图21所示。

当最后地址字节的第8位被锁存后,CS#
应驱动为高电平,否则不执行扇区擦除指令。 一旦 CS#

驱动为高电平,定时扇区擦除周期启动。在扇区擦除进行时,可读状态寄存器来检查写进行位(WIP)
的 值。定时擦除周期内 WIP
为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存位

(WEL) 被复位。

扇区擦除指令对块保护的区域不执行操作。

style="width:8.93323in;height:2.5399in" />

2 1 20H 指令时序图

GB/T 35008—2018

6.2.17 32K 块擦除(52H)

32K 块擦除(52H)
是用来擦除选定块的所有数据。写使能指令应预先执行来设置写使能锁存位

(WEL)。52H 指令在 CS# 为低电平时输入,SI
端跟指令代码和3字节地址。块内的任何地址对于

32K 块擦除指令都是有效地址。整个时序周期内CS# 应驱动为低电平。52H
指令时序如图22所示。

当最后地址字节的第8位被锁存后,CS# 应驱动为高电平,否则不执行32K
块擦除指令。 一旦CS# 驱动为高电平,定时32K 块擦除周期启动。在32K
块擦除进行时,可读状态寄存器来检查写进行位 (WIP) 的值。定时擦除周期内WIP
为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存

位(WEL) 被复位。

32K 块擦除指令对块保护的区域不执行操作。

style="width:9.0399in;height:2.48666in" />

图22 52H 指令时序图

6.2.18 64K 块擦除(D8H)

64K 块擦除(D8H)
是用来擦除选定块的所有数据。写使能指令应预先执行来设置写使能锁存位
(WEL)。64K 块擦除指令在 CS# 为低电平时输入,SI
端跟着指令代码和3字节地址。块内的任何地 址对于64K
块擦除指令都是有效地址。整个时序周期内CS# 应驱动为低电平。 D8H
指令时序如图

23所示。

当最后地址字节的第8位被锁存后,CS# 应驱动为高电平,否则不执行64K
块擦除指令。 一旦CS# 驱动为高电平,定时64K 块擦除周期启动。在64K
块擦除进行时,可读状态寄存器来检查写进行位 (WIP) 的值。定时擦除周期内
WIP 为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存

位(WEL) 被复位。

64K 块擦除指令对块保护的区域不执行操作。

style="width:8.97996in;height:2.45344in" />

图23 D8H 指令时序图

6.2.19 全器件擦除(C7/60H)

全器件擦除(C7/60H)
是用来擦除器件存储的所有数据。写使能指令应预先执行来设置写使能锁

存位(WEL)。 全器件擦除指令在CS# 为低电平时输入,SI
端跟指令代码。整个时序周期内CS# 应驱

动为低电平。 C7/60H 指令时序如图24所示。

当指令代码的第8位被锁存后,CS#
应驱动为高电平,否则不执行全器件擦除指令。 一旦CS# 驱

GB/T 35008—2018

动为高电平,定时全器件擦除周期启动。在全器件擦除进行时,可读状态寄存器来检查写进行位(WIP)
的值。定时全器件擦除周期内WIP
为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存

位(WEL) 被复位。

如器件中有区域被保护,全器件擦除指令不执行。

style="width:5.57338in;height:2.27348in" />

图24 C7/60H 指令时序图

6.2.20 深度休眠(B9H)

深度休眠(B9H)
可使器件处于深度休眠模式(最低耗电模式)。当器件没有使用时,他可用来作为
一个额外的软件保护机制,因为在此模式下,器件忽略所有的写、编程和擦除指令。驱动
CS# 为高电
平,取消选定器件,使器件处于待机模式。深度休眠模式只能通过执行深度休眠指令来实现。
一旦器件
进入深度休眠模式,除了从深度休眠模式退出并读器件标识指令外,其他所有指令都被器件忽略。从深

度休眠模式退出并读器件标识指令使器件从深度休眠模式下退出,也可通过 SO
端输出器件标识。

深度休眠模式在掉电时自动停止,器件上电后处于待机模式。深度休眠指令在CS#
为低电平时输

入,SI 端跟随着指令代码。整个时序周期内CS# 应驱动为低电平。 B9H
指令时序如图25所示。

当指令代码的第8位被锁存后,CS# 应驱动为高电平,否则不执行深度休眠指令。
一旦 CS# 驱动
为高电平,需要延迟时间tpp使电源电流减为一定的值,进入深度休眠模式。当进行擦除、编程或者写循

环时,深度休眠指令被拒绝,对正在进行的循环没有任何影响。

style="width:9.31995in;height:2.54012in" />

图25 B9H 指令时序图

6.2.21 从深度休眠模式中退出并读器件标识(ABH)

从深度休眠模式中退出并读器件标识(ABH)
是一个多功能指令,他能用来使器件从深度休眠模式
中退出,并读取器件的标识。该指令通过驱动CS#
为低电平,输入指令代码并驱动CS# 为高电平来实 现,ABH
指令时序如图26所示。在器件恢复正常运行并接收其他指令之前,从休眠中退出需要tgrs时

间周期。在tResi期间内CS# 应保持为高电平。

如不是在深度休眠模式下,只是为了获得器件标识而使用该指令,应驱动CS#
为低电平,然后输入 指令代码 ABH 和3个冗余字节。器件标识在 SCLK
的下降沿输出,最高有效位先输出,时序如图26

所示。器件标识可连续读,CS# 为高电平时结束该指令。

如要使器件从深度休眠状态中退出并获得器件标识,指令与之前描述的相似,只是CS#
驱动为高 电平后应保持
tkEs时间为高电平。这个周期结束后,器件恢复正常运行并接收其他指令,时序如图27

所示。

GB/T 35008—2018

如在擦除、编程或者写循环进行时发送从 ABH
指令,该指令无效,而对正在进行的循环没有任何

影响。

style="width:9.40665in;height:2.55332in" />

图26 ABH 指令时序图(退出深度休眠模式)

style="width:11.87332in;height:3.4001in" />

图27 ABH 指令时序图(退出深度休眠模式并读标识)

6.2.22 读制造商标识/器件标识(90H)

读制造商标识/器件标识(90H) 是 ABH
的替代,他提供了制造商标识和器件标识。

驱动CS# 为低电平,输入指令代码90H 和24位地址000000H。
然后制造商标识和器件标识就在 SCLK 的下降沿输出,最高有效位先输出,90H
指令时序如图28所示。如24位地址设为000001H, 则

先读器件标识。

style="width:8.86668in;height:5.96002in" />

图28 90H 指令时序图

GB/T 35008—2018

6.2.23 读标识(9FH)

读标识(9FH)
允许读8位制造商标识和2字节的器件标识。器件标识第一个字节表示存储类型,
第二个字节表示存储容量。如正在进行擦除或编程循环,读标识指令不执行,对正在进行的循环也没有

影响。当器件处于深度休眠模式下时,不能发送读标识指令。

驱动CS# 为低电平选定器件,输入8位指令代码9FH。
然后24位标识就在时钟的下降沿输出,

9FH 指令时序如图29所示。数据输出的某一时间点驱动 CS#
为高电平,读标识指令就被终止。当 CS#

驱动为高电平后,器件处于待机模式。
一旦进入待机模式,器件等待被选中,以便能接收指令码执行指令。

style="width:8.83993in;height:6.02008in" />

图29 9FH 指令时序图

6.2.24 编程/擦除挂起(75H)

编程/擦除挂起(75H)
允许系统中断页编程或扇区/块擦除操作,从其他扇区或者块读取数据。编
程/擦除中断期间,指令01H,44H,42H,20H,52H,D8H,C7H,60H,02H,32H
等都不允许执行。编

程/擦除挂起只是在页编程或扇区/块擦除操作期间有效。挂起编程/擦除操作的最大时间为
tsus。

当页编程或扇区/块擦除操作正在进行时,只有在状态寄存器的 SUS 等 于 0 且
WIP 等于1时,器 件才能接受编程/擦除挂起指令。如 SUS 等 于 1 或 WIP
等于0,器件不接收编程/擦除挂起指令。在 tsus期间内WIP
将由1变为0,编程/擦除挂起后,SUS 将立即由0设为1。挂起期间的断电会使器件复

位,并从挂起状态退出。75H 指令时序如图30所示。

style="width:8.59323in;height:3.25996in" />

图30 编程/擦除挂起

GB/T 35008—2018

6.2.25 编程/擦除恢复(7AH)

编程/擦除挂起后,使用7AH 指令恢复编程或扇区/块擦除操作。发送7AH
指令后,状态寄存器

中的 SUS 立即由1变为0 ,W IP
将由0变为1,完成扇区/块擦除或页编程操作。除非编程/擦除挂起是

有效的,否则编程/擦除恢复指令将无效。7AH 指令时序如图31所示。

style="width:7.88665in;height:3.09342in" />

图31 7AH 指令时序图

6.2.26 擦除安全寄存器(44H)

安全寄存器是从主存储阵列中独立出来的,可由系统厂商存储安全性和其他重要信息。擦除安全

寄存器(44H)
类似于扇区/块擦除指令。应预先执行写使能指令来设置写使能锁存位(WEL)。

当指令和地址锁存后,CS# 应驱动为高电平,否则不执行擦除安全寄存器指令。
一旦 CS# 为高电 平,定时擦除安全寄存器周期开始。44H
指令时序如图32所示。当擦除安全寄存器周期正在进行时,
可读状态寄存器来检查写进行位(WIP)
的值。定时擦除安全寄存器周期中,写进行位(WIP) 为1,结束
后为0。在循环完成前的某个不确定时间,写锁存位(WEL)
被复位。状态寄存器中的安全锁存位(LB)
为一次性可编程位,用来保护安全寄存器。 一旦LB
位设置为1,安全寄存器将被永久性的锁定,擦除安

全寄存器指令不执行。

style="width:8.96658in;height:2.48006in" />

图32 44H 指令时序图

6.2.27 编程安全寄存器(42H)

编程安全寄存器(42H)
类似于页编程指令。发送编程安全寄存器指令之前应预先执行写使能指令

来设置写使能锁存位(WEL)。

编程安全寄存器由驱动CS# 为低电平开始,SI
端输入指令代码42H、3字节地址和至少1个字节 的数据。42H
指令时序如图33所示。 一旦CS#
为高电平,定时编程安全寄存器周期开始。当编程安
全寄存器周期正在进行时,可读状态寄存器来检查写进行位(WIP)
的值。定时编程安全寄存器周期中,

写进行位(WIP) 为1,结束后为0。在循环完成前的某个不确定时间,写锁存位(WEL)
被复位。

如状态寄存器中的安全锁存位(LB)
设置为1,安全寄存器被永久性的锁定,编程安全寄存器指令将

被忽略。

style="width:0.22011in;height:0.40678in" />class="anchor">GB/T 35008—2018

style="width:11.48056in;height:5.06806in" />

3 3 42H 指令时序图

6.2.28 读安全寄存器(48H)

读安全寄存器(48H)
类似于快速读指令。指令码后跟3字节地址和1个冗余字节,每一位都是在 SCLK
的上升沿时锁存。然后器件中该地址的数据就从 SO 端 在 SCLK
的下降沿输出,48H 指令时序
如图34所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个较

高地址。 一旦地址到达寄存器的最大地址时,就复位到00H, 驱动 CS#
为高电平来结束指令。

style="width:8.82656in;height:5.9268in" />

图34 48H 指令时序图

6.2.29 复位使能(66H) 和复位(99H)

如复位指令被接受,任何正在进行的内部操作将被终止,器件将返回其默认的开机状态,并失去所

有当前易失性的设置,如易失性状态寄存器位、写使能锁存状态位(WEL)、
编程/擦除挂起状态、读参数

GB/T 35008—2018

设置(P7~P0)、 连续读取模式位设置(M7~M0) 和循环位设置(W6~W4)。

复位指令(99H) 执行前,应先执行复位使能指令(66H), 时序如图35所示。
一旦器件接受复位指 令,该设备将需要
tesr的时间来复位。在此期间不接受任何指令。当器件接受复位指令时,如有正在进
行或挂起的内部擦除/编程操作时,可能损坏数据。推荐发送复位指令前,检查状态寄存器中的
SUS 位

和 BUSY 位。

style="width:10.21345in;height:2.58676in" />

图35 66H 和99H 指令时序图

6.2.30 器件自毁(A5H-FAH-A5H-OAH-10H)

器件执行自毁指令后,不再接受任何指令。驱动 CS# 为低电平,连续发送
A5H-FAH-A5H-0AH

指令,每个指令码发送后应驱动 CS# 为高电平;再发送10H
指令。指令执行完毕后,器件完成自毁。

A5H-FAH-A5H-0AH-10H 指令时序如图36所示。

style="width:11.51334in;height:2.48666in" />

高阳

SO

style="width:11.46661in;height:3.0932in" />

图36 A5H-FAH-A5H-OAH-10H 指令时序图

6.2.31 读参数表(5AH)

参数表描述了器件的功能、特性和容量,主机系统可发送指令读参数指令(5AH)
查询参数表。

5AH 指令时序如图37所示。

GB/T 35008—2018

style="width:8.6in;height:5.99324in" />CS#

32 33 34 35 36 37 38 39 40 41 12 43 14 15 46 17

SCLK

冗余字节

S1

输出数据1

SO

6 5 4 3 2 0 6 5

最高有效位 最高有效位

图37 5AH 指令时序图

6.3 指令格式模式

指令格式模式是指指令/地址/数据输入的形式。器件是否支持某种指令模式,应在表7中说明。

模式描述如下:

a)
1-1-1模式,指令/地址/数据分别是单端口-单端口-单端口输入,时序如图38所示。

b)
1-1-2模式,指令/地址是按单端口输入,而数据是按双端口输入,时序如图39所示。

c) 1-1-4
模式,指令/地址是按单端口输入,而数据是按四端口输入,时序如图40所示。

style="width:9.55328in;height:2.7533in" />

图38 1-1-1模式

style="width:8.37328in;height:2.80676in" />

图39 1-1-2模式

GB/T 35008—2018

style="width:8.09375in;height:4.47361in" />

图40 1-1-4模式

7 参数表说明

7.1 参数表头定义

参数表头位于参数表的首地址,他显示了参数列表的结构、参数列表的修订号和参数头的数目。参

数表头定义见表6。

6 参数表头定义

地址(双字)

双字节地址(位)

说明

描述

第一个双字

07:00

参数列表结构

15:08

23:16

31:24

第二个双字

07:00

开始于00H

参数列表的次要版本号

15:08

开始于01H

参数列表的主要版本号

23:16

开始于00H

参数头的数目

31:24

为0xFFH,并且不能改变

未使用

7.2 参数列表定义

参数列表包含描述器件的特性和容量等代码信息。参数列表定义见表7。

GB/T 35008—2018

7 参数列表的定义

地址(双字)

双字节地址(位)

说明

描述

第一个双字

01:00

00:保留,01:4KB擦除;

10:保留,11:不支持4KB擦除

块/扇区擦除大小

02

0:1字节,1:64字节或更大

写间隔

03

0:非易失性状态位

1:易失性状态位(BP状态寄存器位)

状态寄存器的易失性

04

0:50H,1:06H,

如器件的状态寄存器是非易失性的,

第3位和第4为应设为00b

写易失性状态寄存器的写使能代码

07:05

为111b并且不能改变

未使用

15:08

4KB擦除代码

16

0=不支持,1=支持

(1-1-2)模式快速读

18:17

00:3字节,01:3或4字节,

10:4字节,11:保留

寻址闪存阵列的地址字节数

19

0=不支持,1=支持

双向传输速度时钟

20

0=不支持,1=支持

(1-2-2)模式快速读

21

0=不支持,1=支持

(1-4-4)模式快速读

22

0=不支持,1=支持

(1-1-4)模式快速读

23

未使用

31:24

未使用

第二个双字

31:00

快闪存储容量

第三个双字

04:00

00000b:不支持冗余时钟

(1-4-4)模式快速读冗余时钟数

07:05

000b:不支持模式位

(1-4-4)模式快速读模式位数

15:08

(1-4-4)模式快速读代码

20:16

00000b:不支持冗余时钟

(1-1-4)模式快速读冗余时钟数

23:21

000b:不支持模式位

(1-1-4)模式快速读模式位数

31:24

(1-1-4)模式快速读代码

第四个双字

04:00

00000b:不支持冗余时钟

(1-1-2)模式快速读冗余时钟数

07:05

000b:不支持模式位

(1-1-2)模式快速读模式位数

15:08

(1-1-2)模式快速读代码

20:16

00000b:不支持冗余时钟

(1-2-2)模式快速读冗余时钟数

23:21

000b:不支持模式位

(1-2-2)模式快速读模式位数

31:24

(1-2-2)模式快速读代码

第五个双字

00

0=不支持 1=支持

(2-2-2)模式快速读

03:01

—-

未使用

04

0=不支持 1=支持

(4-4-4)模式快速读

31:05

未使用

GB/T 35008—2018

7 ( 续 )

地址(双字)

双字节地址(位)

说明

描述

第六个双字

15:00

未使用

20:16

00000b:不支持冗余时钟

(2-2-2)模式快速读冗余时钟数

23:21

000b:不支持模式位

(2-2-2)模式快速读模式位数

31:24

(2-2-2)模式快速读代码

第七个双字

15:00

未使用

20:16

00000b:不支持冗余时钟

(4-4-4)模式快速读冗余时钟数

23:21

000b:不支持模式位

(4-4-4)模式快速读模式位数

31:24

(4-4-4)模式快速读代码

第八个双字

07:00

扇区/块的大小=2N字节

0x00b:不存在这种类型

扇区类型1大小

15:08

——

扇区类型1擦除代码

23:16

扇区/块的大小=2N字节

0x00b:不存在这种类型

扇区类型2大小

31:24

扇区类型2擦除代码

第九个双字

07:00

扇区/块的大小=2N字节

0x00b:不存在这种类型

扇区类型3大小

15:08

扇区类型3擦除代码

23:16

扇区/块的大小=2^字节

0x00b:不存在这种类型

扇区类型4大小

31:24

扇区类型4擦除代码

GB/T 35008—2018

A

(资料性附录)

块保护描述

以 6 4M 容量的器件为例,块保护描述见表 A.1。

A.1 块保护描述

CMP

BP4

BP3

BP2

BP1

BP0

保护范围

0

x

x

0

0

0

全部都不保护

0

0

0

0

0

1

最上面1/64被保护

0

0

0

0

1

0

最上面1/32被保护

0

0

0

0

1

1

最上面1/16被保护

0

0

0

1

0

0

最上面1/8被保护

0

0

0

1

0

1

最上面1/4被保护

0

0

0

1

1

0

最上面1/2被保护

0

0

1

0

0

1

最下面1/64被保护

0

0

1

0

1

0

最下面1/32被保护

0

0

1

0

1

1

最下面1/16被保护

0

0

1

1

0

0

最下面1/8被保护

0

0

1

1

0

1

最下面1/4被保护

0

0

1

1

1

0

最下面1/2被保护

0

x

x

1

1

1

全部保护

0

1

0

0

0

1

最上面的4KB被保护

0

1

0

0

1

0

最上面的8KB被保护

0

1

0

0

1

1

最上面的16KB被保护

0

1

0

1

0

x

最上面的32KB被保护

0

1

0

1

1

0

最上面的32KB被保护

0

1

1

0

0

1

最下面的4KB被保护

0

1

1

0

1

0

最下面的8KB被保护

0

1

1

0

1

1

最下面的16KB被保护

0

1

1

1

0

x

最下面的32KB被保护

0

1

1

1

1

0

最下面的32KB被保护

1

x

x

0

0

0

全部保护

1

0

0

0

0

1

最下面63/64被保护

1

0

0

0

1

0

最下面31/32被保护

1

0

0

0

1

1

最下面15/16被保护

1

0

0

1

0

0

最下面7/8被保护

GB/T 35008—2018

A.1 ( 续 )

CMP

BP4

BP3

BP2

BP1

BP0

保护范围

1

0

0

1

0

1

最下面3/4被保护

1

0

0

1

1

0

最下面1/2被保护

1

0

1

0

0

1

最上面63/64被保护

1

0

1

0

1

0

最上面31/32被保护

1

0

1

0

1

1

最上面15/16被保护

1

0

1

1

0

0

最上面7/8被保护

1

0

1

1

0

1

最上面3/4被保护

1

0

1

1

1

0

最上面1/2被保护

1

x

x

1

1

1

全部都不被保护

1

1

0

0

0

1

最上面4KB以外的被保护

1

1

0

0

1

0

最上面8KB以外的被保护

1

1

0

0

1

1

最上面16KB以外的被保护

1

1

0

1

0

x

最上面32KB以外的被保护

1

1

0

1

1

0

最上面32KB以外的被保护

1

1

1

0

0

1

最下面4KB以外的被保护

1

1

1

0

1

0

最下面8KB以外的被保护

1

1

1

0

1

1

最下面16KB以外的被保护

1

1

1

1

0

x

最下面32KB以外的被保护

1

1

1

1

1

0

最下面32KB以外的被保护

延伸阅读

更多内容 可以 GB-T 35008-2018 串行NOR型快闪存储器接口规范. 进一步学习

联系我们

T-GDTEX 23.12—2023 纺织工业互联网标识信息规范 第12部分:内衣.pdf